In general, a circuit structure of a semiconductor integrated circuit typified by an integrated circuit (IC) or a large scale integrated circuit (LSI) is fixed at the time of manufacture and cannot be changed after the manufacture. In contrast, a semiconductor integrated circuit called a programmable logic device (PLD) has a structure in which unit logic blocks each including a plurality of logic circuits are electrically connected to each other through wirings. In the programmable logic device, a circuit structure of each logic block can be controlled by an electric signal.
Accordingly, the design of the programmable logic device can be changed even after the manufacture. Thus, time and cost required for designing and developing a semiconductor integrated circuit can be greatly reduced with the use of the programmable logic device.
The programmable logic device includes a complex PLD (CPLD) and a field programmable gate array (FPGA). In either of the programmable logic devices, connection of logic blocks is controlled by a programmable switch at an intersection of wirings between the logic blocks, which operates in accordance with data (configuration data) stored in a memory portion. In other words, data is programmed into each programmable switch for controlling connection of wirings between logic blocks, whereby a circuit structure of a programmable logic device can be changed.
A volatile memory such as a static random access memory (SRAM) is mainly used in the memory portion of the programmable logic device. On the other hand, a non-volatile memory including a floating gate transistor, such as a flash memory, is included in the memory portion in some cases, as disclosed in Patent Document 1.